package com.atguigu.zk2;

import org.apache.zookeeper.*;
import org.apache.zookeeper.data.Stat;

import java.io.IOException;

/*
    服务器端：启动时在zookeeper中创建临时节点
    1.创建zk客户端对象
    2.判断父节点是否存在。如果不存在则创建（永久的）
    3.在父节点下创建临时节点
    4.让服务器一直运行
 */
public class ZKServer {
    public static void main(String[] args) throws Exception {
//        1.创建zk客户端对象
        String connectString = "hadoop102:2181,hadoop103:2181,hadoop104:2181";
        ZooKeeper zk = new ZooKeeper(connectString, 4000, new Watcher() {
            public void process(WatchedEvent event) {
            }
        });
//        2.判断父节点是否存在。如果不存在则创建（永久的）
        Stat exists = zk.exists("/parent", false);
        if (exists == null){
            //创建父节点
            zk.create("/parent","".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
        }
//        3.在父节点下创建临时节点
        zk.create("/parent/"+args[0] ,args[1].getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE,CreateMode.EPHEMERAL);
//        4.让服务器一直运行
        Thread.sleep(Long.MAX_VALUE);
    }
}
